home *** CD-ROM | disk | FTP | other *** search
/ PC World Interactive 7 / PC World Interactive 7.iso / program / ctutor.exe / TEXT / INTRO.TXT < prev    next >
Text File  |  1994-05-15  |  9KB  |  174 lines

  1.  
  2.  
  3.  
  4.  
  5.                                    Introduction to the C Tutorial
  6.  
  7. C IS USUALLY FIRST
  8. -----------------------------------------------------------------
  9. The programming language C was originally developed by Dennis 
  10. Ritchie of Bell Laboratories and was designed to run on a PDP-11 
  11. with a UNIX operating system.  Although it was originally 
  12. intended to run under UNIX, there has been a great interest in 
  13. running it under the MS-DOS operating system on the IBM PC and 
  14. compatibles.  It is an excellent language for this environment 
  15. because of the simplicity of expression, the compactness of the 
  16. code, and the wide range of applicability.  Also, due to the 
  17. simplicity and ease of writing a C compiler, it is usually the 
  18. first high level language available on any new computer, 
  19. including microcomputers, minicomputers, and mainframes.
  20.  
  21. C is not a good beginning language because it is somewhat 
  22. cryptic in nature.  It allows the programmer a wide range of 
  23. operations from high level down to a very low level, approaching 
  24. the level of assembly language.  There seems to be no limit to 
  25. the flexibility available.  One experienced C programmer made 
  26. the statement, "You can program anything in C", and the 
  27. statement is well supported by my own experience with the 
  28. language.  Along with the resulting freedom however, you take on 
  29. a great deal of responsibility because it is very easy to write 
  30. a program that destroys itself due to the silly little errors 
  31. that a good Pascal compiler will flag and call a fatal error.  
  32. In C, you are very much on your own as you will soon find.
  33.  
  34.  
  35. I ASSUME YOU KNOW A LITTLE PROGRAMMING
  36. -----------------------------------------------------------------
  37. Since C is not a beginners language, I will assume you are not a 
  38. beginning programmer, and I will not attempt to bore you by 
  39. defining a constant and a variable.  You will be expected to know 
  40. these basic concepts.  You will, however, be expected to know 
  41. nothing of the C programming language.  I will begin with the 
  42. most basic concepts of C and take you up to the highest level of 
  43. C programming including the usually intimidating concepts of 
  44. pointers, structures, and dynamic allocation.  To fully 
  45. understand these concepts, it will take a good bit of time and 
  46. work on your part because they are not particularly easy to 
  47. grasp, but they are very powerful tools.  Enough said about that, 
  48. you will see their power when we get there, just don't allow 
  49. yourself to worry about them yet.
  50.  
  51. Programming in C is a tremendous asset in those areas where you 
  52. may want to use Assembly Language but would rather keep it a 
  53. "simple to write" and "easy to maintain" program.  It has been 
  54. said that a program written in C will pay a premium of a 20 to 
  55. 50% increase in runtime because no high level language is as 
  56.  
  57.                                                          Page I-1
  58.  
  59.                                    Introduction to the C Tutorial
  60.  
  61. compact or as fast as Assembly Language.  However, the time 
  62. saved in coding can be tremendous, making it the most desirable 
  63. language for many programming chores.  In addition, since most 
  64. programs spend 90 percent of their operating time in only 10 
  65. percent or less of the code, it is possible to write a program in 
  66. C, then rewrite a small portion of the code in Assembly Language 
  67. and approach the execution speed of the same program if it were 
  68. written entirely in Assembly Language.
  69.  
  70. Even though the C language enjoys a good record when programs are 
  71. transported from one implementation to another, there are 
  72. differences in compilers as you will find anytime you try to use 
  73. another compiler.  Most of the differences become apparent when 
  74. you use nonstandard extensions such as calls to the DOS BIOS when 
  75. using MS-DOS, but even these differences can be minimized by 
  76. careful choice of programming constructs.  
  77.  
  78. Throughout this tutorial, every attempt will be made to indicate 
  79. to you what constructs are available in every C compiler because 
  80. they are part of the accepted standard of programming practice.        
  81.  
  82.  
  83. WHAT IS THE ANSI-C STANDARD?
  84. -----------------------------------------------------------------
  85. When it became evident that the C programming language was 
  86. becoming a very popular language available on a wide range of 
  87. computers, a group of concerned individuals met to propose a 
  88. standard set of rules for the use of the C programming language.  
  89. The group represented all sectors of the software industry and 
  90. after many meetings, and many preliminary drafts, they finally 
  91. wrote an acceptable standard for the C language.  It has been 
  92. accepted by the American National Standards Institute (ANSI), and 
  93. by the International Standards Organization (ISO).  It is not 
  94. forced upon any group or user, but since it is so widely 
  95. accepted, it would be economical suicide for any compiler writer 
  96. to refuse to conform to the standard.
  97.  
  98.  
  99. YOU MAY NEED A LITTLE HELP
  100. -----------------------------------------------------------------
  101. Modern C compilers are very capable systems, but due to the 
  102. tremendous versatility of a C compiler, it could be very 
  103. difficult for you to learn how to use it effectively.  If you are 
  104. a complete novice to programming, you will probably find the 
  105. installation instructions somewhat confusing.  You may be able to 
  106. find a colleague or friend that is knowledgeable about computers 
  107. to aid you in setting up your compiler for use. 
  108.  
  109. This tutorial cannot cover all aspects of programming in C, 
  110. simply because there is too much to cover, but it will instruct 
  111. you in all you need for the majority of your programming in C, 
  112. and it will introduce essentially all of the C language.  You 
  113. will receive instruction in all of the programming constructs in 
  114.  
  115.                                                          Page I-2
  116.  
  117.                                    Introduction to the C Tutorial
  118.  
  119. C, but what must be omitted are methods of programming since 
  120. these can only be learned by experience.  More importantly, it 
  121. will teach you the vocabulary of C so that you can go on to more 
  122. advanced techniques using the programming language C.  A diligent 
  123. effort on your part to study the material presented in this 
  124. tutorial will result in a solid base of knowledge of the C 
  125. programming language.  You will then be able to intelligently 
  126. read technical articles or other textbooks on C and greatly 
  127. expand your knowledge of this modern and very popular programming 
  128. language.
  129.  
  130.  
  131. HOW TO USE THIS TUTORIAL
  132. -----------------------------------------------------------------
  133. This tutorial is written in such a way that the student should 
  134. sit before his computer and study each example program by 
  135. displaying it on the monitor and reading the text which 
  136. corresponds to that program.  Following his study of each 
  137. program, he should then compile and execute it and observe the 
  138. results of execution with his compiler.  This enables the student 
  139. to gain experience using his compiler while he is learning the C 
  140. programming language.  It is strongly recommended that the 
  141. student study each example program in the given sequence then 
  142. write the programs suggested at the end of each chapter in order 
  143. to gain experience in writing C programs.
  144.  
  145.  
  146. THIS IS WRITTEN PRIMARILY FOR MS-DOS
  147. -----------------------------------------------------------------
  148. This tutorial is written primarily for use on an IBM-PC or 
  149. compatible computer but can be used with any ANSI standard 
  150. compiler since it conforms so closely to the ANSI standard.  In 
  151. fact, a computer is not even required to study this material 
  152. since the result of execution of each example program is given 
  153. in comments at the end of each program.
  154.  
  155.  
  156. RECOMMENDED READING AND REFERENCE MATERIAL
  157. -----------------------------------------------------------------
  158. "The C Programming Language - Second Edition",Brian W. Kernigan 
  159. & Dennis M. Ritchie, Prentiss-Hall, 1988        
  160.      
  161.      This is the definitive text of the C programming language 
  162.      and is required reading for every serious C programmer.  
  163.      Although the first edition was terse and difficult to read, 
  164.      this edition is easier to read and extremely useful as both 
  165.      a learning resource and a reference guide.
  166.      
  167. Any ANSI-C testbook        
  168.      Each student should posess a copy of a book that includes a 
  169.      definition of the entire ANSI-C specification and library.  
  170.      Go to a good bookstore and browse for one.
  171.  
  172.  
  173.                                                          Page I-3
  174.